/*-*-C-*-
 *
 * Headers to handle input focus, new-style
 */


typedef enum
{
    FocusGained = 0,
    FocusLost = 1
} FocusReason;
    
typedef error * (*FocusCallback) (FocusReason, int, void *);

extern error * focus_claim (int window, FocusCallback cb, void *cls);
extern error * focus_giveup (int window);
extern int focus_current (void);
extern error * focus_message_claim_entity (MessageClaimEntityPtr claim);
